Memory controller for controlling a refresh cycle of a memory and a method thereof

ABSTRACT

Provided are a memory controller for controlling a refresh cycle of a memory and a method thereof. In this method, a temperature measure command is generated to measure an operating temperature of the memory. Next, a measured temperature in response to the temperature measure command is received. Then, a temperature difference between the measured temperature and a reference temperature is detected if the measured temperature is different from the reference temperature to change the refresh cycle according to the temperature difference, and if the measured temperature is equal to the reference temperature the method returns to the temperature measure command generating step. Thereafter, a refresh command is applied to the memory in response to the changed refresh cycle.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to Korean Patent Application No.2003-47542, filed on Jul. 12, 2003, in the Korean Intellectual PropertyOffice, the disclosure of which is incorporated herein in its entiretyby reference.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to a memory controller, and moreparticularly, to a memory controller for controlling a refresh cycle ofan external memory and a method thereof.

2. Discussion of the Related Art

In general, data is stored as charges in capacitors located in dynamicrandom access memory (DRAM) cells. Because the capacitors on which thecharges are stored are not perfect, their stored charges leak over time.Thus, a process for reading out data from the DRAM cells and rewritingthe data back to the DRAM cells needs to be repeated before the datastored in the capacitors is lost. This process is called a refreshoperation.

In principle, computers cannot use DRAMs during the refresh operation.For example, the time required to perform one refresh operation is equalto a cycle time of a common write operation, thus after the time forperforming the refresh operation has passed, external computers cannotuse the DRAMs. The time during which the DRAMs cannot be used due to therefresh operation is called a busy rate. As such, computers aretypically designed to have a busy rate as short as possible. Whencomputer systems are in a sleep mode, most of the systems' internaldevices are turned off, while the DRAMs therein are refreshed tomaintain their data. Accordingly, a self refresh current flows throughthe DRAMs. Thus, it is important for battery-operated computer systemsto reduce their self refresh current.

A recent trend in the development of computer systems is to change arefresh cycle according to temperature variations and thus reduce therefresh current. For example, a frequency of a refresh clock is loweredby dividing temperatures into several levels from low to high and thenusing a low temperature to reduce the current consumption of a computersystem. This development trend is based on the fact that DRAMs retaindata for a longer time when they are subject to lower temperatures.

In system-on-a-chip (SOC) products and/or system-in-a-package (SIP)technology, which involve stacking memory chips, e.g., negative AND(NAND) flash memory chips, synchronous dynamic random access memory(SDRAM) chips, or double data rate (DDR) SDRAM chips in a singlepackage, the heat generated by processors used, for example, in the SOCor SIP products is directly transferred to the memory chips disposedabove the processors.

When using the SOC or SIP products, the heat generated during a refreshoperation causes DRAMs, which are adversely affected by excess heat, todeteriorate. Thus, a time during which the DRAMs can retain data isreduced due to the heat generated by the processors or circumferentialenvironments. One method used to prevent the deterioration of DRAMs dueto excess heat is to assume the worst-case temperature conditions duringthe design process of the DRAMs, and thus, shorten the auto refreshcycle for the DRAMs.

In addition, as hand-held devices require high-performance and variousmulti-media functions as well as high speed data communicationcapabilities, the performance of their DRAMs is also important.Therefore, the SOC or SIP products must also deal with performancedegradation resulting from an auto refresh command cycle that has beenshortened to compensate for the worst-case temperature conditions.

The above method of shortening the auto refresh cycle is typically theonly way to retain the data of the DRAMs when temperatures are at theirhighest levels, namely, when refresh operations of the DRAMs are in theworst case. However, because the auto refresh cycle of the DRAMs isdetermined under the worst case, the performance of the DRAMs in the SOCor SIP products deteriorates except when the temperatures are at theirhighest levels.

SUMMARY OF THE INVENTION

A first aspect of the present invention provides a memory controller forcontrolling a refresh cycle of a memory according to temperaturevariations. A second aspect of the present invention provides a methodof controlling a refresh cycle of a memory according to temperaturevariations. A third aspect of the present invention provides asystem-on-a-chip (SOC) having a memory controller for controlling arefresh cycle of a memory according to temperature variations.

According to the first aspect of the present invention, there isprovided a method of controlling a refresh cycle of a memory disposedoutside a system-on-a-chip comprising a memory controller. The methodcomprises: generating a temperature measure command to measure anoperating temperature of the memory; receiving a measured temperature inresponse to the temperature measure command; detecting a temperaturedifference if the measured temperature is different from a referencetemperature to change the refresh cycle according to the temperaturedifference, and returning to the temperature measure command generatingstep if the measured temperature is equal to the reference temperature;and applying a refresh command to the memory in response to the changedrefresh cycle.

The temperature difference detecting step comprises: determining whetherthe memory controller is in an operating condition suitable to generatethe refresh command; and generating the changed refresh cycle if it isdetermined that the memory controller is in the operating conditionsuitable to generate the refresh command. The temperature measurecommand is generated at predetermined intervals, wherein thepredetermined intervals are set by a user. The temperature measurecommand is applied to the memory when the memory is in a stand-by mode.The changed refresh cycle is increased if the measured temperature islower than the reference temperature, and the changed refresh cycle isdecreased if the measured temperature is higher than the referencetemperature. The reference temperature is changed in response to thechanged refresh cycle.

According to the second aspect of the present invention, there isprovided a memory controller comprising a temperature measure commandgenerating portion, a control portion, and a refresh command generatingportion. The temperature measure command generating portion generates atemperature measure command in response to a signal to measure anoperating temperature of an external memory. The control portionreceives a measured temperature and a reference temperature informationsignal that comprises a reference temperature, and detects a temperaturedifference between the measured temperature and the referencetemperature if the measured temperature is different from the referencetemperature to generate a refresh cycle control signal for changing arefresh cycle according to the temperature difference. The refreshcommand generating portion applies a refresh command to the externalmemory in response to the refresh cycle control signal.

The memory controller further comprises an operating conditiondetermining portion for receiving the refresh cycle control signal anddetermining whether a current operating condition is suitable togenerate the refresh command, and applying the refresh cycle controlsignal to the refresh command generating portion if it is determinedthat the current operating condition is suitable to generate the refreshcommand.

The current operating condition suitable to generate the refresh commandis a state where operations for controlling the external memory except arefresh control are halted. The memory controller further comprises atimer for generating the signal when a value for generating the signalis counted, wherein the value is controlled by a user.

The temperature measure command is applied to the external memory whenthe external memory is in a stand-by mode. The control portion generatesthe refresh cycle control signal to increase the refresh cycle if themeasured temperature is lower than the reference temperature, andgenerates the refresh cycle control signal to decrease the refresh cycleif the measured temperature is higher than the reference temperature.The reference temperature information signal is changed in response tothe refresh cycle control signal. The reference temperature is set by auser.

According to the third aspect of the present invention, there isprovided an SOC comprising a temperature measure command generatingportion, a control portion, a refresh command generating portion, anoperating condition determining portion, and a timer. The temperaturemeasure command generating portion generates a temperature measurecommand in response to a signal to measure an operating temperature ofan external memory. The control portion receives a measured temperatureand a reference temperature information signal that comprises areference temperature, and detects a temperature difference if themeasured temperature is different from the reference temperature togenerate a refresh cycle control signal for changing a refresh cycleaccording to the temperature difference.

The refresh command generating portion applies a refresh command to theexternal memory in response to the refresh cycle control signal. Theoperating condition determining portion receives the refresh cyclecontrol signal to determine whether a current operating condition issuitable to generate the refresh command, and applies the refresh cyclecontrol signal to the refresh command generating portion if it isdetermined that the current operating condition is suitable to generatethe refresh command. The timer generates the signal when a value forgenerating the signal is counted.

BRIEF DESCRIPTION OF THE DRAWINGS

The features of the present invention will become more apparent bydescribing in detail exemplary embodiments thereof with reference to theattached drawings, in which:

FIG. 1 is a flowchart illustrating a method of controlling a refreshcycle according to an exemplary embodiment of the present invention;

FIG. 2 is a flowchart illustrating operations performed between steps140 and 150 of FIG. 1;

FIG. 3 is a block diagram of a memory controller according to anexemplary embodiment of the present invention; and

FIG. 4 is a block diagram of a system-on-a-chip (SOC) according to anexemplary embodiment of the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

FIG. 1 is a flowchart illustrating a method of controlling a refreshcycle according to an exemplary embodiment of the present invention.

Referring to FIG. 1, a method 100 of controlling a refresh cycle of anexternal memory disposed outside a system-on-a-chip (SOC) having amemory controller is performed by the following steps. In step 110, atemperature measure command is generated at predetermined intervals tomeasure an operating temperature of the memory. In step 120, atemperature measured in response to the temperature measure command isreceived. In step 130, it is determined whether the measured temperatureis different from a reference temperature. If it is determined that themeasured temperature is different from the reference temperature in step130, the process continues with step 140. In step 140, a temperaturedifference between the measured temperature and the referencetemperature is detected and the refresh cycle is changed according tothe temperature difference. If it is determined that the measuredtemperature is equal to the reference temperature in step 130, theprocess returns to step 110. In step 150, a refresh command is appliedto the memory in response to the changed refresh cycle.

FIG. 3 is a block diagram of a memory controller according to anexemplary embodiment of the present invention.

A memory controller 300 includes a temperature measure commandgenerating portion 320, a control portion 330, a refresh commandgenerating portion 340, an operating condition determining portion 350,and a timer 360. The method 100 of controlling the refresh cycle and theoperation of the memory controller 300 will now be explained withreference to FIGS. 1 and 3.

In step 110, the temperature measure command is generated atpredetermined intervals to measure the operating temperature of thememory. Step 110 is performed by the temperature measure commandgenerating portion 320. That is, the temperature measure commandgenerating portion 320 generates a temperature measure command TCCMD inresponse to a predetermined periodic signal PRDS to measure an operatingtemperature of an external memory 310.

The temperature measure command TCCMD is applied to the external memory310 at predetermined intervals set by a user to periodically check thetemperature of the external memory 310. An auto refresh cycle is setunder the worst conditions during initialization, and is then set inresponse to a signal relating to the temperature generated by theexternal memory 310. The auto refresh cycle is longer during theinitialization than after the initialization so that it can retain dataof the external memory 310 even under the worst conditions. Here, thecycle of checking the temperature of the external memory 310 can be setby the user and stored in a register (not shown) inside the memorycontroller 300.

That is, the temperature measure command TCCMD can be generated at thepredetermined intervals set by the user. To achieve this, the memorycontroller 300 uses the timer 360 to generate the periodic signal PRDSwhen a predetermined value, which can be controlled by the user, iscounted. Once the user sets the value, the timer 360 generates theperiodic signal PRDS when the set value is counted.

If the memory controller 300 generates the temperature measure commandTCCMD, the memory controller 300 cannot send commands, such as a datawrite, data read, precharge, refresh, and mode register set (MRS), tothe external memory 310. That is, the temperature measure command TCCMDis applied to the external memory 310 when the external memory 310 is ina stand-by mode.

In step 120, the temperature measured in response to the temperaturemeasure command TCCMD is received. In step 130, it is determined whetherthe measured temperature is different from the reference temperature. Ifit is determined that the measured temperature is different from thereference temperature in step 130, the process continues with step 140.In step 140, a temperature difference between the measured temperatureand the reference temperature is detected and the refresh cycle ischanged according to the temperature difference. If it is determinedthat the measured temperature is equal to the reference temperature instep 130, the process returns to step 110.

Steps 120-140 are performed by the control portion 330 of the memorycontroller 300. That is, the control portion 330 receives a referencetemperature information signal STD_TEM containing information regardinga reference temperature and a measured temperature CTEM, and detects atemperature difference between the reference temperature and themeasured temperature CTEM if the measured temperature CTEM is differentfrom the reference temperature to generate a refresh cycle controlsignal REFCTRL for changing the refresh cycle according to thetemperature difference. In step 120, the measured temperature CTEM isreceived from the external memory 310. The memory controller 300recognizes a current temperature of the external memory 310 based on themeasured temperature CTEM, and thus, can change the auto refresh cycleof the external memory 310 based on the current temperature.

If the measured temperature CTEM is equal to the reference temperaturecontained in the reference temperature information signal STD_TEM, thecontrol portion 330 causes the memory controller 300 to go into astand-by mode until the value of the timer 360 is counted. The referencetemperature can be set by the user. If the value of the timer 360 iscounted and the periodic signal PRDS is generated, the temperaturemeasure command TCCMD is applied to the external memory 310 again, andthe control portion 330 receives a newly measured temperature CTEM tocompare the measured temperature CTEM with the reference temperature.

If the measured temperature CTEM is different from the referencetemperature, a temperature difference between the measured temperatureCTEM and the reference temperature is detected and the refresh cyclecontrol signal REFCTRL is generated to change the refresh cycleaccording to the temperature difference.

The control portion 330 then generates the refresh cycle control signalREFCTRL to increase the refresh cycle if the measured temperature CTEMis lower than the reference temperature, and generates the refresh cyclecontrol signal REFCTRL to decrease the refresh cycle if the measuredtemperature CTEM is higher than the reference temperature. A value of arefresh timer (not shown) that is to be counted can also be changed, forexample, to change the refresh cycle.

The reference temperature information signal STD_TEM is changed inresponse to the refresh cycle control signal REFCTRL. That is, therefresh cycle control signal REFCTRL controls the reference temperatureinformation signal STD_TEM that includes information regarding a changedreference temperature that corresponds to the measured temperature CTEMof the external memory 310. Therefore, the measured temperature CTEM ofthe external memory 310 is compared with a new reference temperature.

In step 150, the refresh command is applied to the external memory 310in response to the changed refresh cycle. Step 150 is performed by therefresh command generating portion 340. The refresh command generatingportion 340 applies the refresh command REFCMD to the external memory310 in response to the refresh cycle control signal REFCTRL. That is,the memory controller 300 recognizes the current operating condition ofthe external memory 310 and refreshes, for example, a DRAM cell of theexternal memory 310 in a cycle suitable for the temperature, thusresulting in improved performance of the external memory 310.

FIG. 2 is a flowchart illustrating operations performed between steps140 and 150 of FIG. 1.

Referring to FIG. 2, the method 100 of controlling the refresh cyclefurther includes, between steps 140 and 150, checking a state of thememory controller 300 in step 210, determining whether the memorycontroller 300 is in an operating condition suitable to generate therefresh command in step 220, and generating the changed refresh cycle instep 230 if it is determined that the memory controller 300 is in theoperating condition suitable to generate the refresh command in step220.

Steps 210-230 are performed by the operating condition determiningportion 350. The operating condition determining portion 350 receivesthe refresh cycle control signal REFCTRL and determines whether thememory controller 300 is in a current operating condition suitable togenerate the refresh command REFCMD. If it is determined that the memorycontroller 300 is in the operating condition suitable to generate therefresh command REFCMD, the operating condition determining portion 350applies the refresh control signal REFCTRL to the refresh commandgenerating portion 340.

In some instances, the memory controller 300 cannot readily change therefresh cycle in response to the refresh cycle control signal REFCTRL.To remedy this, the refresh cycle control signal REFCTRL is stored andthe operating condition of the memory controller 300 is recognized. Thatis, for the memory controller 300 to generate the refresh commandREFCMD, the memory controller 300 should be in a state where it does notperform any operations for controlling the external memory 310 except arefresh control.

Therefore, if the memory controller 300 does not perform any operationsfor controlling the external memory 310, the operating conditiondetermining portion 350 applies the refresh cycle control signal REFCTRLto the refresh command generating portion 340. If the memory controller300 performs an operation for controlling the external memory 310, theoperating condition determining portion 350 stores the refresh cyclecontrol signal REFCTRL, and after the operation for controlling theexternal memory 310 is finished, the operating condition determiningportion 350 applies the refresh cycle control signal REFCTRL to therefresh command generating portion 340.

Through the above operations, the memory controller 300 can detect theoperating temperature of the external memory 310 at the predeterminedintervals set by the user and set a refresh cycle that is suitable forthe current operating condition of the external memory 310 to retaindata within the external memory 310. Furthermore, because the memorycontroller 300 and the refresh cycle control method 100 ensure betterperformance than when the refresh cycle is determined under the worstcases, they can minimize performance degradation of the external memory310 due to temperature variations when applied to system-in-a-package(SIP) products or SOC products.

Referring to FIGS. 3 and 4, a semiconductor system includes a SOC 400and the external memory 310. The SOC 400 comprises the memory controller300, which includes the temperature measure command generating portion320, the control portion 330, the refresh command generating portion340, the operating condition determining portion 350, and the timer 360.

The SOC 400 also includes a micro processor 410, masters 420 and 430,which may be digital signal processors DSPs, the memory controller 300,and a slave 440 connected to each other via a common bus SYS_BUS. Anoperation for controlling the refresh cycle of the external memory 310is performed by the memory controller 300 of the SOC 400. The operationof the memory controller 300 has already been explained and will not beexplained in detail hereinafter. In addition, as the operations of theSOC 400 and the memory 310 have already been explained, for example,with reference to FIG. 1, they will not be explained hereinafter.

Because the SOC 400 or the semiconductor system can control the refreshcycle of the external memory 310 according to temperature variations,the operating performance of the semiconductor system including the SOC400 or the external memory 310 can be improved. In addition, because thememory controller 300 and the refresh cycle control method 100 cancontrol the refresh cycle of the external memory 310 according to theoperating temperature of the external memory 310, data is retained inthe external memory 310.

Further, as the refresh cycle is suitably set for an externaltemperature or the operating condition and temperature of the externalmemory 310, efficient access to the external memory 310 can be achievedand its operating performance can be enhanced. Moreover, because thememory controller 300 is applicable to the SOC 400 or the semiconductorsystem, the performance of the SOC 400 or the semiconductor system canalso be improved.

While the present invention has been particularly shown and describedwith reference to exemplary embodiments thereof, it will be understoodby those of ordinary skill in the art that various changes in form anddetails may be made therein without departing from the spirit and scopeof the present invention as defined by the following claims and theirequivalents.

1. A method of controlling a refresh cycle of a memory disposed on asystem-on-a-chip comprising a memory controller, the method comprising:generating a temperature measure command to measure an operatingtemperature of the memory; receiving a measured temperature in responseto the temperature measure command; detecting a temperature differencebetween the measured temperature and a reference temperature if themeasured temperature is different from the reference temperature tochange the refresh cycle according to the temperature difference, andreturning to the temperature measure command generating step if themeasured temperature is equal to the reference temperature; and applyinga refresh command to the memory in response to the changed refreshcycle.
 2. The method of claim 1, wherein the temperature differencedetecting step comprises: determining whether the memory controller isin an operating condition suitable to generate the refresh command; andgenerating the changed refresh cycle if it is determined that the memorycontroller is in the operating condition suitable to generate therefresh command.
 3. The method of claim 1, wherein the temperaturemeasure command is generated at predetermined intervals.
 4. The methodof claim 3, wherein the predetermined intervals at which the temperaturemeasure command is generated are set by a user.
 5. The method of claim1, wherein the temperature measure command is applied to the memory whenthe memory is in a stand-by mode.
 6. The method of claim 1, wherein thechanged refresh cycle is increased if the measured temperature is lowerthan the reference temperature, and the changed refresh cycle isdecreased if the measured temperature is higher than the referencetemperature.
 7. The method of claim 1, wherein the reference temperatureis changed in response to the changed refresh cycle.
 8. A memorycontroller comprising: a temperature measure command generating portionwhich generates a temperature measure command in response to a signal tomeasure an operating temperature of an external memory; a controlportion which receives a measured temperature and a referencetemperature information signal that comprises a reference temperature,and detects a temperature difference between the measured temperatureand the reference temperature if the measured temperature is differentfrom the reference temperature to generate a refresh cycle controlsignal for changing a refresh cycle according to the temperaturedifference; and a refresh command generating portion which applies arefresh command to the external memory in response to the refresh cyclecontrol signal.
 9. The memory controller of claim 8, further comprising:an operating condition determining portion which receives the refreshcycle control signal and determines whether a current operatingcondition is suitable to generate the refresh command, and applies therefresh cycle control signal to the refresh command generating portionif it is determined that the current operating condition is suitable togenerate the refresh command.
 10. The memory controller of claim 9,wherein the current operating condition suitable to generate the refreshcommand is a state where operations for controlling the external memoryexcept a refresh control are halted.
 11. The memory controller of claim8, further comprising: a timer which generates the signal when a valuefor generating the signal is counted.
 12. The memory controller of claim11, wherein the value is controlled by a user.
 13. The memory controllerof claim 8, wherein the temperature measure command is applied to theexternal memory when the external memory is in a stand-by mode.
 14. Thememory controller of claim 8, wherein the control portion generates therefresh cycle control signal to increase the refresh cycle if themeasured temperature is lower than the reference temperature, andgenerates the refresh cycle control signal to decrease the refresh cycleif the measured temperature is higher than the reference temperature.15. The memory controller of claim 8, wherein the reference temperatureinformation signal is changed in response to the refresh cycle controlsignal.
 16. The memory controller of claim 15, wherein the referencetemperature is set by a user.
 17. A system-on-a-chip comprising: atemperature measure command generating portion which generates atemperature measure command in response to a signal to measure anoperating temperature of an external memory; a control portion whichreceives a measured temperature and a reference temperature informationsignal that comprises a reference temperature, and detects a temperaturedifference between the measured temperature and the referencetemperature if the measured temperature is different from the referencetemperature to generate a refresh cycle control signal for changing arefresh cycle according to the temperature difference; a refresh commandgenerating portion which applies a refresh command to the externalmemory in response to the refresh cycle control signal; an operatingcondition determining portion which receives the refresh cycle controlsignal to determine whether a current operating condition is suitable togenerate the refresh command, and applies the refresh cycle controlsignal to the refresh command generating portion if it is determinedthat the current operating condition is suitable to generate the refreshcommand; and a timer which generates the periodic signal when a valuefor generating the signal is counted.